package main

import (
	"fmt"
	"net"
	"os"
)

func main() {
	// 自动链接服务器
	conn, err := net.Dial("tcp", "127.0.0.1:8080")

	if err != nil {
		fmt.Println("err = ", err)
		return
	}

	defer conn.Close()

	go func() {
		// 从键盘输入内容，给服务器发送内容
		for {
			str := make([]byte, 1024)
			read, err := os.Stdin.Read(str) //从键盘读取内容，放在str

			if err != nil {
				fmt.Println("os.Stdin.Read err = ", err)
			}

			//把输入的内容给服务器发送
			conn.Write(str[:read])
		}
	}()

	// 接收服务器回复的数据
	// 切片缓冲
	buf := make([]byte, 1024)
	for {
		read, err2 := conn.Read(buf)
		if err2 != nil {
			fmt.Println("conn.Read err = ", err2)
			return
		}
		fmt.Println(string(buf[:read])) //打印接收内容，转为字符串再打印 否则报错conn.Read err =  EOF
	}
}
